/**
 * @file module_usb.h
 * @author Blues Jiang (jiangrn@breo.com.cn)
 * @brief
 * @version 0.1
 * @date 2022-03-25
 *
 * @copyright Copyright (c) 2022
 *
 */

#ifndef __MODULE_USB_H__
#define __MODULE_USB_H__

/* Includes ------------------------------------------------------------------*/
#include "usb_type.h"
#include "n32g45x.h"

#define EVENT_CAPSLOCK_ON           (1 << 0)
#define EVENT_CAPSLOCK_OFF          (1 << 1)
#define EVENT_NUMSLOCK_ON           (1 << 2)
#define EVENT_NUMSLOCK_OFF          (1 << 3)
#define EVENT_PREV_XFER_COMPLETE    (1 << 4)

/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
/* Exported define -----------------------------------------------------------*/

//#define USB_LOW_PWR_MGMT_SUPPORT

void USB_Set_System(void);
void Set_USBClock(void);
void Enter_LowPowerMode(void);
void Leave_LowPowerMode(void);
void USB_Interrupts_Config(void);

#endif /* __MODULE_USB_H__ */